package com.zsy.service.impl;

import com.zsy.entity.Personnel;
import com.zsy.entity.User;
import com.zsy.mapper.IPersonnelMapper;
import com.zsy.service.IPersonnelService;
import com.zsy.utils.Result;
//import com.zsy.utils.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public class PersonnelServiceImpl implements IPersonnelService {

    @Autowired
    private IPersonnelMapper ipm;

    // 查询员工
    @Override
    public Result getPersonnelByAll(String department) {
//        Map<String, Object> map = ThreadLocalUtil.get();
//        String de = (String) map.get("department");
        Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
        User principal = (User) authentication.getPrincipal();
        List<Personnel> ap = ipm.getAllPersonnel(principal.getDepartment());
        System.out.println(ap);
//        if (de.equals("人事部") || de.equals("管理员")) {

        if (ap != null && !ap.isEmpty()){
            return Result.ok(ap);
        }else {
            return Result.error("没有这个部门，你在干什么");
        }

//        }
//        else {
//            return Result.error("你没有权限");
//        }
    }

    // 添加员工
    @Override
    public Result addPersonnel(Personnel personnel) {
//        Map<String, Object> map = ThreadLocalUtil.get();
//        String dp = (String) map.get("department");
//        if (dp.equals("人事部") || dp.equals("管理员")) {
            if (personnel.getDepartment().equals("选项1")){
                personnel.setDepartment("销售部");
            }
            if (personnel.getDepartment().equals("选项2")){
                personnel.setDepartment("财务部");
            }
            if (personnel.getDepartment().equals("选项3")){
                personnel.setDepartment("研发部");
            }
            if (personnel.getDepartment().equals("选项4")){
                personnel.setDepartment("人事部");
            }
            if (personnel.getDepartment().equals("选项5")){
                personnel.setDepartment("采购部");
            }
            if (personnel.getStatus().equals("选项1")){
                personnel.setStatus("在职");
            }
            if (personnel.getStatus().equals("选项2")){
                personnel.setStatus("离职");
            }
            if (personnel.getStatus().equals("选项3")){
                personnel.setStatus("外包");
            }
            if (personnel.getStatus().equals("选项4")){
                personnel.setStatus("外聘");
            }
            if (personnel.getPoliticsStatus().equals("选项1")){
                personnel.setPoliticsStatus("群众");
            }
            if (personnel.getPoliticsStatus().equals("选项2")){
                personnel.setPoliticsStatus("团员");
            }
            if (personnel.getPoliticsStatus().equals("选项3")){
                personnel.setPoliticsStatus("党员");
            }
            if (personnel.getPoliticsStatus().equals("选项4")){
                personnel.setPoliticsStatus("其他");
            }
            int i;
                i = ipm.addPersonnel(personnel);
                if (i > 0) {
                    return Result.ok("添加成功");
                }else {
                    return Result.error("添加失败");
                }
//        }
//        else {
//            return Result.error("你没有权限");
//        }
    }

    // 删除员工
    @Override
    public Result deletePersonnel(int customerId) {
        int i;
        i = ipm.deletePersonnel(customerId);
        if (i > 0){
            return Result.ok("删除成功");
        }else {
            return Result.error("删除失败");
        }
    }

    // 修改员工
    @Override
    public Result updatePersonnel(Personnel personnel) {
        if (personnel.getDepartment().equals("选项1")){
                personnel.setDepartment("销售部");
            }
            if (personnel.getDepartment().equals("选项2")){
                personnel.setDepartment("财务部");
            }
            if (personnel.getDepartment().equals("选项3")){
                personnel.setDepartment("研发部");
            }
            if (personnel.getDepartment().equals("选项4")){
                personnel.setDepartment("人事部");
            }
            if (personnel.getDepartment().equals("选项5")){
                personnel.setDepartment("采购部");
            }
            if (personnel.getStatus().equals("选项1")){
                personnel.setStatus("在职");
            }
            if (personnel.getStatus().equals("选项2")){
                personnel.setStatus("离职");
            }
            if (personnel.getStatus().equals("选项3")){
                personnel.setStatus("外包");
            }
            if (personnel.getStatus().equals("选项4")){
                personnel.setStatus("外聘");
            }
            if (personnel.getPoliticsStatus().equals("选项1")){
                personnel.setPoliticsStatus("群众");
            }
            if (personnel.getPoliticsStatus().equals("选项2")){
                personnel.setPoliticsStatus("团员");
            }
            if (personnel.getPoliticsStatus().equals("选项3")){
                personnel.setPoliticsStatus("党员");
            }
            if (personnel.getPoliticsStatus().equals("选项4")){
                personnel.setPoliticsStatus("其他");
            }
        int i = ipm.updatePersonnel(personnel);
        if (i > 0){
            return Result.ok("修改成功");
        }else {
            return Result.error("修改失败");
        }
    }

}
